package cn.tangsihai.basic.mapper;
import cn.tangsihai.basic.query.BasicQuery;

import java.util.List;

/**
 * mapper层基础crud，批量操作，分页查询方法
 * @param <T>
 */
public interface BasicMapper<T> {
    // 根据id查询一个
    T loadById(Long id);
    // 加载所有数据
    List<T> loadAll();

    // 添加数据
    void add(T t);
    // 修改数据
    void update(T t);
    // 删除数据
    void remove(Long id);

    // 分页查询+高级查询数据数量
    Integer querycount(BasicQuery basicQuery);
    // 分页查询+高级查询数据
    List<T> queryData(BasicQuery basicQuery);

    // 批量删除
    void patchDelete(List<Long> ids);
}
